/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.compra.controlador;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
import sv.com.intesal.compra.bean.OrdenCompra;
import sv.com.intesal.compra.sql.SQLOrdenCompra;
import sv.com.intesal.conexion.cConexion;

/**
 *
 * @author andrew
 */
public class AporbacionCompraControlador {

    public List<OrdenCompra> llenarGrid() {
        List<OrdenCompra> list = new ArrayList<OrdenCompra>();
        try {
            ResultSet rs = cConexion.conectar().prepareStatement(SQLOrdenCompra.buscarOrdenes).executeQuery();
            while (rs.next()) {
                OrdenCompra oc = new OrdenCompra();
                oc.setId_oc(rs.getInt("id_oc"));
                oc.setId_em(rs.getInt("id_em"));
                oc.setId_p(rs.getInt("id_p"));
                oc.setFecha_oc(rs.getDate("fecha_oc"));
                oc.setNumero_oc(rs.getInt("numero_oc"));
                oc.setNombre_p(rs.getString("empresa_p"));
                oc.setNombre_em(rs.getString("nombre_em"));
                oc.setFechahora_oc(rs.getTime("fechahora"));
                list.add(oc);
            }
            rs.close();
            return list;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public List<OrdenCompra> detalleGrid(int id_oc) {
        List<OrdenCompra> list = new ArrayList<OrdenCompra>();
        try {
            PreparedStatement pstm = null;
            pstm = cConexion.conectar().prepareStatement(SQLOrdenCompra.buscarDetaOrdenes);
            pstm.setInt(1, id_oc);
            ResultSet rs = pstm.executeQuery();
            while (rs.next()) {
                OrdenCompra oc = new OrdenCompra();
                oc.setId_oc(rs.getInt("id_oc"));
                oc.setId_d(rs.getInt("id_d"));
                oc.setCantidad_d(rs.getDouble("cantidad_d"));
                oc.setIva_d(rs.getDouble("iva_d"));
                oc.setDescuento_d(rs.getDouble("descuento_d"));
                oc.setCosto_d(rs.getDouble("costo_d"));
                oc.setNombre_m(rs.getString("nombre_m"));
                oc.setExento_d(rs.getDouble("exento_d"));
                list.add(oc);
            }
            pstm.close();
            rs.close();
            return list;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public void aprobarOrdenCompra(OrdenCompra oc) throws Exception {
        try {
            PreparedStatement pstm = null;
            pstm = cConexion.conectar().prepareStatement(SQLOrdenCompra.aprobarOrdenCompra);
            pstm.setInt(1, oc.getId_oc());
            pstm.executeUpdate();
            pstm.close();
        } catch (Exception e) {
            throw new Exception(e);
        }
    }

    public void denegarOrdenCompra(OrdenCompra oc) throws Exception {
        try {
            PreparedStatement pstm = null;
            pstm = cConexion.conectar().prepareStatement(SQLOrdenCompra.denegarOrdenCompra);
            pstm.setInt(1, oc.getId_oc());
            pstm.executeUpdate();
            pstm.close();
        } catch (Exception e) {
            throw new Exception(e);
        }

    }
}
